package cn.iocoder.yudao.module.eval.controller.admin.condition.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 申报条件配置 Response VO")
@Data
public class EvalApplicationConditionRespVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long id;

    @Schema(description = "条件名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "年龄要求")
    private String conditionName;

    @Schema(description = "适用职业代码", requiredMode = Schema.RequiredMode.REQUIRED, example = "4-07-05-02")
    private String professionCode;

    @Schema(description = "适用技能等级", requiredMode = Schema.RequiredMode.REQUIRED, example = "五级/初级工")
    private String skillLevel;

    @Schema(description = "适用评价方式", requiredMode = Schema.RequiredMode.REQUIRED, example = "理论考试+实操考核")
    private String evaluationMethod;

    @Schema(description = "条件类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "age")
    private String conditionType;

    @Schema(description = "条件参数配置", example = "{\"minAge\": 18, \"maxAge\": 60}")
    private String conditionParameters;

    @Schema(description = "验证规则", example = "{\"rules\": [\"age >= 18\", \"age <= 60\"]}")
    private String validationRules;

    @Schema(description = "是否必填", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
    private Boolean isRequired;

    @Schema(description = "条件排序", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Integer conditionOrder;

    @Schema(description = "逻辑关系", example = "AND")
    private String logicOperator;

    @Schema(description = "条件状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Integer conditionStatus;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime createTime;

}
